package Controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import javax.swing.JFileChooser;
//Clases
import Modelo.Jugador;
import Vista.vListadoJugadoresModeloTabla;
import Modelo.Equipo;
import Modelo.Liga;
import Vista.RegistrarEquipo;

public class cRegistrarEquipo implements ActionListener {
	private RegistrarEquipo r_equipo;
	private Liga liga;
	private Equipo equipo;
	
//Constructor
	public cRegistrarEquipo(Liga liga, Equipo equipo) {
		super();
		r_equipo = new RegistrarEquipo();
		r_equipo.setLocationRelativeTo(null);
		r_equipo.setVisible(true);
		r_equipo.AgregarAL(this);
		this.liga = liga;
		this.equipo = equipo;
	}


//------------------  Inicio Agregar Jugadores----------------------------------------
	public void LeerJugadores() {
		JFileChooser fileChooser = new JFileChooser();
		int seleccion = fileChooser.showOpenDialog(fileChooser);
		if (seleccion == JFileChooser.APPROVE_OPTION) {
			File archivo = fileChooser.getSelectedFile();
			try {
				BufferedReader br = new BufferedReader(new FileReader(archivo));
				String linea;
				int cedula;
				String nombre;
				String apellido;
				String fechaNacimiento;
				String posicion;
				Jugador jugador;
				//Inicio de captura de datos desde fichero txt
				while ((linea = br.readLine()) != null) {
					cedula = Integer.parseInt(linea);
					nombre = br.readLine();
					apellido = br.readLine();
					fechaNacimiento = br.readLine();
					posicion = br.readLine();
					
					jugador = new Jugador(nombre, apellido,cedula,
							fechaNacimiento, posicion);
					equipo.agregarjugador(jugador);
				}
				//Fin Captura de datos desde fichero txt
				
				//Almacenamiento en Vector jugador
				List<Jugador> jugadores = equipo.getVectorJugador();
				equipo.setVectorJugador(jugadores);
				//Mostrar en tabla en la ventana
				r_equipo.SetResultadoBusquedaJugadores (new vListadoJugadoresModeloTabla(jugadores));
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}
//----------------------Fin Agregar Jugadores--------------------------------------------------------------
	

//----------------------Inicio Registrar Equipo----------------------------------------------------	
	public void RegistrarEquipo(){
		//Validación: Ninguna de las cajitas de texto puede estar vacia
		if (r_equipo.getTxtCodigoEquipo().equals("") || r_equipo.getTxtNombreEquipo().equals("")||
				r_equipo.getTxtCiudad().equals("") || r_equipo.getTxtAnnoFundacion().equals("")||
				r_equipo.getTxtEstadio().equals("")){
			
					//Si alguna está vacia muestra mensaje
					r_equipo.MostrarMensaje("Verifique los campos, alguno de ellos está vacio.");
		}
		else {
			//Extraer datos de las cajitas de texto
			int codigo = Integer.parseInt(r_equipo.getTxtCodigoEquipo());
			String nombre = r_equipo.getTxtNombreEquipo();
			int anno = Integer.parseInt(r_equipo.getTxtAnnoFundacion());
			String ciudad = r_equipo.getTxtCiudad();
			String NombreEstadio = r_equipo.getTxtNombreEquipo();
			
			//Asignar datos a el vector
			equipo.setCodigo_equipo(codigo);
			equipo.setNombre_equipo(nombre);
			equipo.setAnno_fundacion(anno);
			equipo.setCiudad(ciudad);
			equipo.setNombre_estadio(NombreEstadio);
			liga.AgregarEquipo(equipo);
			}
	}	
	
//------------------Fin Registrar Equipo--------------------------------------------------------------
	
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
	String accion = e.getActionCommand();
	if (accion.equals("Cargar Jugadores")) {
		LeerJugadores();
	}
	else if (accion.equals("Guardar")){
		RegistrarEquipo();
		liga.verificar2();
	}
	else if (accion.equals("Salir")){
		r_equipo.setVisible(false);
	}
	}
	

}
